home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Megahits 3
/
Megahits 3 (1994)(GTI - Rhein-Main-Soft)(DE)[!].iso
/
autoexec.amos
/
autoexec.amosSourceCode
next >
Wrap
AMOS Source Code
|
1994-10-14
|
40KB
|
872 lines
'
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'
' CLOSE QUARTERS
'
' |
' By Valour-Tech |
' -I-
' Game Number 1! \_O_/
' \V/
' X
' / |
' Written in V 1.34 _| |_
'
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'
Set Buffer 20 : Led Off : Close Editor : Close Workbench
Dim HSCNAME$(10),HSC(10),LIFE#(4),DR#(4),AMMO(4),NAME$(4),CHAR(4,3),BLEED#(3)
Dim DESC$(8),RAND1(4),RAND2(4),WHO(4),SCORE(4),CQ$(12),FLIP(3),DEAD(4),GUN(3,3)
Global HSCNAME$(),NAME$(),HSC(),LIFE#(),DR#(),AMMO(),NAME$(),CHAR(),NUM,ALIVE
Global DESC$(),RAND1(),RAND2(),WHO(),SCORE(),CQ$(),FLIP(),DEAD(),ROUND,T2
Global X1,Y1,X2,Y2,SELECTION$,TEAM,BLEED#(),GUN()
INITIALIZE
Do
SELECTIONS
For ROUND=1 To 10
SETUP_ROUND
Repeat
LETS_ROCK
Until ALIVE<=1 or T2=90
SCORES
Next ROUND
FINISH_OF_GAME
Loop
Procedure INITIALIZE
Hide : Unpack 6 To 0 : Wait 50
Get Rom Fonts : Synchro Off : Bob Update Off : Auto View Off : Make Mask
Screen Open 1,640,16,4,Hires : Screen Display 1,130,42,640,8 : Flash Off
Curs Off : Palette $0,$FFF,$F00,$F0 : Cls 0 : Paper 0 : Pen 1
Screen Open 2,640,16,4,Hires : Screen Display 2,130,290,640,8 : Flash Off
Curs Off : Palette $0,$FFF,$F00,$F0 : Cls 0 : Paper 0 : Pen 1
Rem #### Bullet Amal MCBUL,SGBUL,PTBUL,CBARW ####
CQ$(0)=" Start: Let A=111 ; Let R1=0 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
CQ$(0)=CQ$(0)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
CQ$(0)=CQ$(0)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
CQ$(0)=CQ$(0)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
CQ$(0)=CQ$(0)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
CQ$(0)=CQ$(0)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ; Let A=12+R4 ;"
CQ$(0)=CQ$(0)+" Repeat: Let R1=R1+1 ;"
CQ$(0)=CQ$(0)+" If BC(0,8,11) Jump Hit ; If BC(0,12,36)&R1>1 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
CQ$(0)=CQ$(0)+" Until: If R1=16 Jump Start else Jump Repeat ;"
CQ$(0)=CQ$(0)+" Hit: If A=111 Jump U ; If BC(0,8,8) Jump M ; If BC(0,9,9) Jump N ; If BC(0,10,10) Jump P ; If BC(0,11,11) Jump Q ;"
CQ$(0)=CQ$(0)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
CQ$(0)=CQ$(0)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
CQ$(0)=CQ$(0)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
CQ$(0)=CQ$(0)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
CQ$(0)=CQ$(0)+" Obstacle: Let A=111 ; Jump Until ;"
Rem
CQ$(1)=" Start: Let A=111 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
CQ$(1)=CQ$(1)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
CQ$(1)=CQ$(1)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
CQ$(1)=CQ$(1)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
CQ$(1)=CQ$(1)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
CQ$(1)=CQ$(1)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ; If BC(1,8,11) Jump Hit ; Let A=8 ;"
CQ$(1)=CQ$(1)+" Repeat: Let R1=R1+1 ;"
CQ$(1)=CQ$(1)+" If BC(1,8,11) Jump Hit ; If BC(1,12,36)&R1>1 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
CQ$(1)=CQ$(1)+" Until: If R1=30 Jump Finish else Jump Repeat ;"
CQ$(1)=CQ$(1)+" Hit: If A=111 Jump U ; If BC(1,8,8) Jump M ; If BC(1,9,9) Jump N ; If BC(1,10,10) Jump P ; If BC(1,11,11) Jump Q ;"
CQ$(1)=CQ$(1)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
CQ$(1)=CQ$(1)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
CQ$(1)=CQ$(1)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
CQ$(1)=CQ$(1)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
CQ$(1)=CQ$(1)+" Obstacle: Let A=111 ; Jump Until ;"
CQ$(1)=CQ$(1)+" Finish: Let A=111 ; P P P P P P ; Let R1=0 ;"
CQ$(1)=CQ$(1)+" Chkfire: If R0=1 Jump I ; If R0=2 Jump J ; If R0=3 Jump K ; If R0=4 Jump L ;"
CQ$(1)=CQ$(1)+" I: If Joy1&16 Jump I ; Jump Start ;"
CQ$(1)=CQ$(1)+" J: If Joy0&16 Jump J ; Jump Start ;"
CQ$(1)=CQ$(1)+" K: If RU=-1 Jump K ; Jump Start ;"
CQ$(1)=CQ$(1)+" L: If RV=-1 Jump L ; Jump Start ;"
Rem
CQ$(2)=" Start: Let A=111 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
CQ$(2)=CQ$(2)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
CQ$(2)=CQ$(2)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
CQ$(2)=CQ$(2)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
CQ$(2)=CQ$(2)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
CQ$(2)=CQ$(2)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ; If BC(2,8,11) Jump Hit ; Let A=1 ;"
CQ$(2)=CQ$(2)+" Repeat: Let R1=R1+1 ;"
CQ$(2)=CQ$(2)+" If BC(2,8,11) Jump Hit ; If BC(2,12,36)&R1>1 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
CQ$(2)=CQ$(2)+" Until: If R1=25 Jump Finish else Jump Repeat ;"
CQ$(2)=CQ$(2)+" Hit: If A=111 Jump U ; If BC(2,8,8) Jump M ; If BC(2,9,9) Jump N ; If BC(2,10,10) Jump P ; If BC(2,11,11) Jump Q ;"
CQ$(2)=CQ$(2)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
CQ$(2)=CQ$(2)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
CQ$(2)=CQ$(2)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
CQ$(2)=CQ$(2)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
CQ$(2)=CQ$(2)+" Obstacle: Let A=111 ; Jump Until ;"
CQ$(2)=CQ$(2)+" Finish: Let A=111 ; Let R1=0 ;"
CQ$(2)=CQ$(2)+" Chkfire: If R0=1 Jump I ; If R0=2 Jump J ; If R0=3 Jump K ; If R0=4 Jump L ;"
CQ$(2)=CQ$(2)+" I: If Joy1&16 Jump I ; Jump Start ;"
CQ$(2)=CQ$(2)+" J: If Joy0&16 Jump J ; Jump Start ;"
CQ$(2)=CQ$(2)+" K: If RU=-1 Jump K ; Jump Start ;"
CQ$(2)=CQ$(2)+" L: If RV=-1 Jump L ; Jump Start ;"
Rem
CQ$(3)=" Start: Let A=111 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
CQ$(3)=CQ$(3)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
CQ$(3)=CQ$(3)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
CQ$(3)=CQ$(3)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
CQ$(3)=CQ$(3)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
CQ$(3)=CQ$(3)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ;"
CQ$(3)=CQ$(3)+" Repeat: Let R1=R1+1 ;"
CQ$(3)=CQ$(3)+" If BC(3,8,11) Jump Hit ; If BC(3,12,36)&R1>2 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
CQ$(3)=CQ$(3)+" Until: If R1=25 Jump Finish else Jump Repeat ;"
CQ$(3)=CQ$(3)+" Hit: If A=111 Jump U ; If BC(3,8,8) Jump M ; If BC(3,9,9) Jump N ; If BC(3,10,10) Jump P ; If BC(3,11,11) Jump Q ;"
CQ$(3)=CQ$(3)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
CQ$(3)=CQ$(3)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
CQ$(3)=CQ$(3)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
CQ$(3)=CQ$(3)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
CQ$(3)=CQ$(3)+" Obstacle: Let A=111 ; Jump Until ;"
CQ$(3)=CQ$(3)+" Finish: Let A=111 ; Let R1=0 ;"
CQ$(3)=CQ$(3)+" Chkfire: If R0=1 Jump I ; If R0=2 Jump J ; If R0=3 Jump K ; If R0=4 Jump L ;"
CQ$(3)=CQ$(3)+" I: If Joy1&16 Jump I ; Jump Start ;"
CQ$(3)=CQ$(3)+" J: If Joy0&16 Jump J ; Jump Start ;"
CQ$(3)=CQ$(3)+" K: If RU=-1 Jump K ; Jump Start ;"
CQ$(3)=CQ$(3)+" L: If RV=-1 Jump L ; Jump Start ;"
Rem #### GUY Amal Bobs 8-11 ####
CQ$(8)=CQ$(8)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RC=0 ;"
CQ$(8)=CQ$(8)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RD=-1 ; Let RE=0 ;"
CQ$(8)=CQ$(8)+" Start:P;Let R0=Joy1&15 ;"
CQ$(8)=CQ$(8)+" If R0=5 Jump E ;"
CQ$(8)=CQ$(8)+" If R0=9 Jump F ;"
CQ$(8)=CQ$(8)+" If R0=6 Jump G ;"
CQ$(8)=CQ$(8)+" If R0=10 Jump H ;"
CQ$(8)=CQ$(8)+" If R0=1 Jump A ;"
CQ$(8)=CQ$(8)+" If R0=2 Jump B ;"
CQ$(8)=CQ$(8)+" If R0=4 Jump C ;"
CQ$(8)=CQ$(8)+" If R0=8 Jump D ;"
CQ$(8)=CQ$(8)+" Wait: Let RA=X ; Let RB=Y ; Jump Start ;"
CQ$(8)=CQ$(8)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RE=0 ; Let R1=R1+1 ; Let RC=0 ; Let RD=-1 ; Let Y=Y-R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" I: Let R1=R1-4 ; Jump A ;"
CQ$(8)=CQ$(8)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RE=$4000 ; Let R1=R1+1 ; Let RC=0 ; Let RD=1 ; Let Y=Y+R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" J: Let R1=R1-4 ; Jump B ;"
CQ$(8)=CQ$(8)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ; Let RE=1+$8000 ; Let R2=R2+1 ; Let RC=-1 ; Let RD=0 ; Let X=X-R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" K: Let R2=R2-4 ; Jump C"
CQ$(8)=CQ$(8)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RE=1 ; Let R2=R2+1 ; Let RC=1 ; Let RD=0 ; Let X=X+R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" L: Let R2=R2-4 ; Jump D ;"
CQ$(8)=CQ$(8)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RE=2+$8000 ; Let R3=R3+1 ; Let RC=-1 ; Let RD=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" M: Let R3=R3-4 ; Jump E ;"
CQ$(8)=CQ$(8)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RE=2 ; Let R3=R3+1 ; Let RC=1 ; Let RD=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" N: Let R3=R3-4 ; Jump F ;"
CQ$(8)=CQ$(8)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RE=2+$C000 ; Let R3=R3+1 ; Let RC=-1 ; Let RD=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" O: Let R3=R3-4 ; Jump G ;"
CQ$(8)=CQ$(8)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RE=2+$4000 ;Let R3=R3+1 ; Let RC=1 ; Let RD=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
CQ$(8)=CQ$(8)+" If BC(8,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(8)=CQ$(8)+" P: Let R3=R3-4 ; Jump H ;"
CQ$(8)=CQ$(8)+" Restrc: Let X=-1*RC*R7+X ; Let Y=-1*RD*R7+Y ; Jump Wait ;"
Rem
CQ$(9)=CQ$(9)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RH=0"
CQ$(9)=CQ$(9)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RI=-1 ; Let RJ=0 ;"
CQ$(9)=CQ$(9)+" Start:P;Let R0=Joy0&15 ;"
CQ$(9)=CQ$(9)+" If R0=5 Jump E ;"
CQ$(9)=CQ$(9)+" If R0=9 Jump F ;"
CQ$(9)=CQ$(9)+" If R0=6 Jump G ;"
CQ$(9)=CQ$(9)+" If R0=10 Jump H ;"
CQ$(9)=CQ$(9)+" If R0=1 Jump A ;"
CQ$(9)=CQ$(9)+" If R0=2 Jump B ;"
CQ$(9)=CQ$(9)+" If R0=4 Jump C ;"
CQ$(9)=CQ$(9)+" If R0=8 Jump D ;"
CQ$(9)=CQ$(9)+" Wait: Let RF=X ; Let RG=Y ; Jump Start ;"
CQ$(9)=CQ$(9)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RJ=0 ; Let R1=R1+1 ; Let RH=0 ; Let RI=-1 ; Let Y=Y-R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" I: Let R1=R1-4 ; Jump A ;"
CQ$(9)=CQ$(9)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RJ=$4000 ; Let R1=R1+1 ; Let RH=0 ; Let RI=1 ; Let Y=Y+R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" J: Let R1=R1-4 ; Jump B ;"
CQ$(9)=CQ$(9)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ; Let RJ=1+$8000 ; Let R2=R2+1 ; Let RH=-1 ; Let RI=0 ; Let X=X-R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" K: Let R2=R2-4 ; Jump C"
CQ$(9)=CQ$(9)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RJ=1 ; Let R2=R2+1 ; Let RH=1 ; Let RI=0 ; Let X=X+R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" L: Let R2=R2-4 ; Jump D ;"
CQ$(9)=CQ$(9)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RJ=2+$8000 ; Let R3=R3+1 ; Let RH=-1 ; Let RI=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" M: Let R3=R3-4 ; Jump E ;"
CQ$(9)=CQ$(9)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RJ=2 ; Let R3=R3+1 ; Let RH=1 ; Let RI=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" N: Let R3=R3-4 ; Jump F ;"
CQ$(9)=CQ$(9)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RJ=2+$C000 ; Let R3=R3+1 ; Let RH=-1 ; Let RI=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" O: Let R3=R3-4 ; Jump G ;"
CQ$(9)=CQ$(9)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RJ=2+$4000 ; Let R3=R3+1 ; Let RH=1 ; Let RI=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
CQ$(9)=CQ$(9)+" If BC(9,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(9)=CQ$(9)+" P: Let R3=R3-4 ; Jump H ;"
CQ$(9)=CQ$(9)+" Restrc: Let X=-1*RH*R7+X ; Let Y=-1*RI*R7+Y ; Jump Wait ;"
Rem
CQ$(10)=CQ$(10)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RM=0"
CQ$(10)=CQ$(10)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RN=-1 ; Let RO=0 ;"
CQ$(10)=CQ$(10)+" Start:P;If R0=5 Jump E ;"
CQ$(10)=CQ$(10)+" If R0=9 Jump F ;"
CQ$(10)=CQ$(10)+" If R0=6 Jump G ;"
CQ$(10)=CQ$(10)+" If R0=10 Jump H ;"
CQ$(10)=CQ$(10)+" If R0=1 Jump A ;"
CQ$(10)=CQ$(10)+" If R0=2 Jump B ;"
CQ$(10)=CQ$(10)+" If R0=4 Jump C ;"
CQ$(10)=CQ$(10)+" If R0=8 Jump D ;"
CQ$(10)=CQ$(10)+" Wait: Let RK=X ; Let RL=Y ; Jump Start ;"
CQ$(10)=CQ$(10)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RO=0 ; Let R1=R1+1 ; Let RM=0 ; Let RN=-1 ; Let Y=Y-R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" I: Let R1=R1-4 ; Jump A ;"
CQ$(10)=CQ$(10)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RO=$4000 ; Let R1=R1+1 ; Let RM=0 ; Let RN=1 ; Let Y=Y+R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" J: Let R1=R1-4 ; Jump B ;"
CQ$(10)=CQ$(10)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ;Let RO=1+$8000 ; Let R2=R2+1 ; Let RM=-1 ; Let RN=0 ; Let X=X-R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" K: Let R2=R2-4 ; Jump C"
CQ$(10)=CQ$(10)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RO=1 ; Let R2=R2+1 ; Let RM=1 ; Let RN=0 ; Let X=X+R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" L: Let R2=R2-4 ; Jump D ;"
CQ$(10)=CQ$(10)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RO=2+$8000 ; Let R3=R3+1 ; Let RM=-1 ; Let RN=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" M: Let R3=R3-4 ; Jump E ;"
CQ$(10)=CQ$(10)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RO=2 ; Let R3=R3+1 ; Let RM=1 ; Let RN=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" N: Let R3=R3-4 ; Jump F ;"
CQ$(10)=CQ$(10)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RO=2+$C000 ; Let R3=R3+1 ; Let RM=-1 ; Let RN=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" O: Let R3=R3-4 ; Jump G ;"
CQ$(10)=CQ$(10)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RO=2+$4000 ; Let R3=R3+1 ; Let RM=1 ; Let RN=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
CQ$(10)=CQ$(10)+" If BC(10,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(10)=CQ$(10)+" P: Let R3=R3-4 ; Jump H ;"
CQ$(10)=CQ$(10)+" Restrc: Let X=-1*RM*R7+X ; Let Y=-1*RN*R7+Y ; Jump Wait ;"
Rem
CQ$(11)=CQ$(11)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RR=0"
CQ$(11)=CQ$(11)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RS=-1 ; Let RT=0 ;"
CQ$(11)=CQ$(11)+" Start:P;If R0=5 Jump E ;"
CQ$(11)=CQ$(11)+" If R0=9 Jump F ;"
CQ$(11)=CQ$(11)+" If R0=6 Jump G ;"
CQ$(11)=CQ$(11)+" If R0=10 Jump H ;"
CQ$(11)=CQ$(11)+" If R0=1 Jump A ;"
CQ$(11)=CQ$(11)+" If R0=2 Jump B ;"
CQ$(11)=CQ$(11)+" If R0=4 Jump C ;"
CQ$(11)=CQ$(11)+" If R0=8 Jump D ;"
CQ$(11)=CQ$(11)+" Wait: Let RP=X ; Let RQ=Y ; Jump Start ;"
CQ$(11)=CQ$(11)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RT=0 ; Let R1=R1+1 ; Let RR=0 ; Let RS=-1 ; Let Y=Y-R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" I: Let R1=R1-4 ; Jump A ;"
CQ$(11)=CQ$(11)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RT=$4000 ; Let R1=R1+1 ; Let RR=0 ; Let RS=1 ; Let Y=Y+R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" J: Let R1=R1-4 ; Jump B ;"
CQ$(11)=CQ$(11)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ;Let RT=1+$8000 ; Let R2=R2+1 ; Let RR=-1 ; Let RS=0 ; Let X=X-R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" K: Let R2=R2-4 ; Jump C"
CQ$(11)=CQ$(11)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RT=1 ; Let R2=R2+1 ; Let RR=1 ; Let RS=0 ; Let X=X+R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" L: Let R2=R2-4 ; Jump D ;"
CQ$(11)=CQ$(11)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RT=2+$8000 ; Let R3=R3+1 ; Let RR=-1 ; Let RS=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" M: Let R3=R3-4 ; Jump E ;"
CQ$(11)=CQ$(11)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RT=2 ; Let R3=R3+1 ; Let RR=1 ; Let RS=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" N: Let R3=R3-4 ; Jump F ;"
CQ$(11)=CQ$(11)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RT=2+$C000 ; Let R3=R3+1 ; Let RR=-1 ; Let RS=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" O: Let R3=R3-4 ; Jump G ;"
CQ$(11)=CQ$(11)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RT=2+$4000 ; Let R3=R3+1 ; Let RR=1 ; Let RS=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
CQ$(11)=CQ$(11)+" If BC(11,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
CQ$(11)=CQ$(11)+" P: Let R3=R3-4 ; Jump H ;"
CQ$(11)=CQ$(11)+" Restrc: Let X=-1*RR*R7+X ; Let Y=-1*RS*R7+Y ; Jump Wait ;"
For A=1 To 4
For B=1 To 3
Read CHAR(A,B)
Next B
Next A
For A=0 To 3 : Read FLIP(A) : Read BLEED#(A) : Next A
For A=0 To 3
For B=1 To 3
Read GUN(A,B)
Next B
Next A
For A=1 To 8 : Read DESC$(A) : Next A
Screen 0 : For X=0 To 3 : Bob X,,,111 : Channel X To Bob X : Next X
For X=8 To 11 : Bob X,,,111 : Channel X To Bob X : Next X
Auto View On : Fade 3 : Wait 45
Data 30,4,200,42,5,150,54,6,120,66,6,150,$0,0.6,$4000,1.0,$8000,0.6,$C000,0.5
Data 11,26,27,4,25,9,6,19,2,4,20,5
Data "BattleDroid","Commando","Gunslinger","Predator"
Data "MachineCannon","2BarrelPumpShotgun",".45CalAutoPistol","CompoundCrossbow"
End Proc
Procedure SELECTIONS
Unpack 7 To 0 : Screen 0 : For F=1 To 5 : Flash F,"(070,5)(180,5)(391,5)(4A1,5)(6B2,5)" : Wait 5 : Next F
Wait 20 : Repeat : Until Fire(1) or Fire(0)
Flash Off : Fade 2 : Wait 30
Screen Open 3,320,256,32,Lowres : Flash Off : Get Sprite Palette : Curs Off
Colour 8,$FFF : Colour 0,$0 : Cls 0 : Curs Pen 0 : Paper 0 : Pen 8
NUM=2 : TEAM=False
SELECTION$="NUMBER" : Ink 19,26,
Paste Bob 45,40,113 : Paste Bob 240,40,113
Paste Bob 145,80,113 : Paste Bob 35,140,112
Paste Bob 200,140,112 : Paste Bob 35,200,112
Paste Bob 200,200,112 : Text 30,35,"Team Play"
Text 230,35,"Players" : Text 50,135,"Player 1"
Text 50,195,"Player 3" : Text 215,135,"Player 2"
Text 215,195,"Player 4" : Ink 25,27 : Text 58,160,NAME$(1)
Text 223,160,NAME$(2) : Text 58,220,NAME$(3) : Text 223,220,NAME$(4)
Text 151,100,"GO!" : Text 51,60,"off" : Text 246,60,Str$(NUM)
Do
If SELECTION$="NUMBER" Then NUMBER
If SELECTION$="GO" Then GO
If SELECTION$="TEAM" Then TEAM
If SELECTION$="NAME_1" Then NAME_1
If SELECTION$="NAME_2" Then NAME_2
If SELECTION$="NAME_3" Then NAME_3
If SELECTION$="NAME_4" Then NAME_4
If SELECTION$="GO!" Then Exit
Loop : Ink 0
For Y=0 To 128 Step 2
Draw 0,Y To 320,Y : Draw 0,256-Y To 320,256-Y
Wait Vbl
Next Y
For Y=129 To 1 Step -2
Draw 0,Y To 320,Y : Draw 0,256-Y To 320,256-Y
Wait Vbl
Next Y
For N=1 To 4
If N>NUM Then NAME$(N)=""
Next N
If TEAM=False
Open In 1,"HighScoreTable"
Else
Open In 1,"TeamTable"
End If
For X=1 To 10 : Input #1,HSCNAME$(X),HSC(X) : Next X : Close 1
Screen 1 : Cls 0 : Print At(0,0);NAME$(1);At(45,0);NAME$(2)
Screen 2 : Cls 0 : Print At(0,0);NAME$(3);At(45,0);NAME$(4)
End Proc
Procedure TEAM
Ink 19 : Box 44,39 To 80,75 : Ink 25 : Wait 10
Do
While Fire(1)
If TEAM=True Then Text 51,60,"off"
If TEAM=False
Cls 27,52,52 To 74,63 : Text 54,60,"on"
Text 246,60,Str$(4) : NUM=4
End If
TEAM=-1-TEAM : Wait 20
Wend
If Jright(1) Then SELECTION$="GO" : Exit
If Jdown(1) Then SELECTION$="NAME_1" : Exit
Loop
Ink 26 : Box 44,39 To 80,75
End Proc
Procedure NUMBER
Ink 19 : Box 239,39 To 275,75 : Ink 25 : Wait 10
Do
If Fire(1)
Add NUM,1,2 To 4
If NUM<4
Text 51,60,"off" : TEAM=False
End If
Text 246,60,Str$(NUM) : Wait 20
End If
If Jdown(1) Then SELECTION$="NAME_2" : Exit
If Jleft(1) Then SELECTION$="GO" : Exit
Loop
Ink 26 : Box 239,39 To 275,75
End Proc
Procedure GO
Ink 19 : Box 144,79 To 180,115 : Ink 25 : Wait 10 : Timer=0
Do
If Fire(1) Then SELECTION$="GO!" : Randomize Timer : Exit
If Jleft(1) Then SELECTION$="TEAM" : Exit
If Jright(1) Then SELECTION$="NUMBER" : Exit
Loop
Ink 26 : Box 144,79 To 180,115
End Proc
Procedure NAME_1
Ink 19 : Box 34,139 To 130,175 : Ink 25 : Clear Key : Wait 10
For X=1 To 7
I$=""
While I$="" or X=7
I$=Inkey$ : If Scancode>64 Then I$=""
If Jup(1) Then SELECTION$="TEAM" : Exit 2
If Jdown(1) Then SELECTION$="NAME_3" : Exit 2
If Jright(1) Then SELECTION$="NAME_2" : Exit 2
If Key State(65)
Text 58,160," " : NAME$(1)="" : SELECTION$="NAME_1" : Exit 2
End If
Wend
If X=1 Then Text 58,160," " : NAME$(1)=""
Text((X-1)*8)+58,160,I$
NAME$(1)=NAME$(1)+I$ : I$=""
Next X
Ink 26 : Box 34,139 To 130,175
End Proc
Procedure NAME_2
Ink 19 : Box 199,139 To 295,175 : Ink 25 : Clear Key : Wait 10
For X=1 To 7
I$=""
While I$="" or X=7
I$=Inkey$ : If Scancode>64 Then I$=""
If Jup(1) Then SELECTION$="NUMBER" : Exit 2
If Jdown(1) Then SELECTION$="NAME_4" : Exit 2
If Jleft(1) Then SELECTION$="NAME_1" : Exit 2
If Key State(65)
Text 223,160," " : NAME$(2)="" : SELECTION$="NAME_2" : Exit 2
End If
Wend
If X=1 Then Text 223,160," " : NAME$(2)=""
Text((X-1)*8)+223,160,I$
NAME$(2)=NAME$(2)+I$ : I$=""
Next X
Ink 26 : Box 199,139 To 295,175
End Proc
Procedure NAME_3
Ink 19 : Box 34,199 To 130,235 : Ink 25 : Wait 10
For X=1 To 7
I$=""
While I$="" or X=7
I$=Inkey$ : If Scancode>64 Then I$=""
If Jup(1) Then SELECTION$="NAME_1" : Exit 2
If Jright(1) Then SELECTION$="NAME_4" : Exit 2
If Key State(65)
Text 58,220," " : NAME$(3)="" : SELECTION$="NAME_3" : Exit 2
End If
Wend
If X=1 Then Text 58,220," " : NAME$(3)=""
Text((X-1)*8)+58,220,I$
NAME$(3)=NAME$(3)+I$ : I$=""
Next X
Ink 26 : Box 34,199 To 130,235
End Proc
Procedure NAME_4
Ink 19 : Box 199,199 To 295,235 : Ink 25 : Wait 10
For X=1 To 7
I$=""
While I$="" or X=7
I$=Inkey$ : If Scancode>64 Then I$=""
If Jup(1) Then SELECTION$="NAME_2" : Exit 2
If Jleft(1) Then SELECTION$="NAME_3" : Exit 2
If Key State(65)
Text 223,220," " : NAME$(4)="" : SELECTION$="NAME_4" : Exit 2
End If
Wend
If X=1 Then Text 223,220," " : NAME$(4)=""
Text((X-1)*8)+223,220,I$
NAME$(4)=NAME$(4)+I$ : I$=""
Next X
Ink 26 : Box 199,199 To 295,235
End Proc
Procedure SETUP_ROUND
Auto View Off : Unpack 8 To 0 : Screen 0 : Double Buffer
For N=0 To 11
Bob N,,,111
If N<4 or N>7
Amal N,CQ$(N)
End If
Next N
Screen 3 : Cls 0
For N=1 To NUM
RAND1: RAND1(N)=Rnd(3)+1
For A=1 To N
If A=N Then Goto SKIP1
If RAND1(N)=RAND1(A) Then Goto RAND1
SKIP1:
Next A
RAND2: RAND2(N)=Rnd(3)+1
For B=1 To N
If B=N Then Goto SKIP2
If RAND2(N)=RAND2(B) Then Goto RAND2
SKIP2:
Next B
If N<3
Locate 2+((N-1)*19),1 : Print NAME$(N)
Locate 2+((N-1)*19),3 : Print DESC$(RAND1(N))
Locate 2+((N-1)*19),5 : Print DESC$(RAND2(N)+4)
Paste Bob 40+((N-1)*150),50,89+RAND1(N) : Paste Bob 41+((N-1)*150),95,RAND2(N)*3+12
Else
Locate 2+((N-3)*19),16 : Print NAME$(N)
Locate 2+((N-3)*19),18 : Print DESC$(RAND1(N))
Locate 2+((N-3)*19),20 : Print DESC$(RAND2(N)+4)
Paste Bob 40+((N-3)*150),170,89+RAND1(N) : Paste Bob 41+((N-3)*150),215,RAND2(N)*3+12
End If
Amreg(7+N,1)=CHAR(RAND1(N),1) : Amreg(7+N,7)=CHAR(RAND1(N),2) : Amal On 7+N
Amreg(RAND2(N)-1,0)=N : Amal On RAND2(N)-1
Next N
Print At(11,28)," Press Fire"
Repeat : Until Fire(1) or Fire(0)
Fade 3 : Wait 45
For X=1 To 4
If X>NUM
LIFE#(X)=0 : RAND2(X)=0 : DR#(X)=0 : DEAD(X)=True
Else
LIFE#(X)=CHAR(RAND1(X),3) : DR#(X)=0 : WHO(X)=0 : DEAD(X)=False
End If
If TEAM=True and X<>1 Then WHO(X)=X-1
If TEAM=True and X=1 Then WHO(X)=4
Next X
Screen 1 : AMMO(1)=70 : AMMO(2)=30 : AMMO(3)=35 : AMMO(4)=30
Ink 3 : Bar 60,0 To LIFE#(1)+61,3 : Ink 2 : Bar 60,4 To AMMO(RAND2(1))*2.85+61,8
Ink 3 : Bar 420,0 To LIFE#(2)+421,3 : Ink 2 : Bar 420,4 To AMMO(RAND2(2))*2.85+421,8
Ink 0 : Screen 2
If NUM>2 Then Ink 3 : Bar 60,0 To LIFE#(3)+61,3 : Ink 2 : Bar 60,4 To AMMO(RAND2(3))*2.85+61,8
If NUM=4 Then Ink 3 : Bar 420,0 To LIFE#(4)+421,3 : Ink 2 : Bar 420,4 To AMMO(RAND2(4))*2.85+421,8
Ink 0 : Screen 0 : For S=0 To 2 : Screen To Front S : Next S
Restore ROUND+0
For A=8 To 11
Read X,Y : If A<=NUM+7 Then Bob A,X,Y,CHAR(RAND1(A-7),1)
Next A
For B=0 To 3
If Amreg(B,0)<>0
If I Bob(Amreg(B,0)+7)<66
C=X Bob(Amreg(B,0)+7)
D=Y Bob(Amreg(B,0)+7)-5
Bob B+4,C,D,B*3+15
End If
End If
Next B
For A=12 To 36 : Read X : Exit If X=666 : Read Y,I : Bob A,X,Y,I : Next A
For A=37 To 46 : Read X : Exit If X=666 : Read Y,I : Bob A,X,Y,I : Next A
Read X1,Y1,X2,Y2
T2=-1 : SECONDS : Bob Update : Wait Vbl
Sam Play 15,8,9400 : ALIVE=NUM : Every 50 Proc SECONDS
Screen Close 3 : View : Auto View On
1 Data 22,22,110,234,306,156,30,142,44,123,97,197,203,97,233,20,98,269,20,98,233,59,99
Data 269,59,99,164,33,100,107,217,101,277,93,102,194,62,102,16,68,102,238,142,103,285,156,103
Data 64,26,103,32,217,104,666,250,37,107,164,27,108,31,88,109,666,194,100,60,167
Rem
2 Data 279,128,101,128,136,33,8,219,37,41,97,78,80,97,35,201,97,59,217,97,159,101,98,195,101,98
Data 159,143,99,195,143,99,14,239,100,128,179,101,129,80,101,268,38,102,78,130,103,223,122,103
Data 268,204,104,666,176,121,107,24,229,108,666,209,201,120,131
Rem
3 Data 37,42,281,211,288,41,27,217,52,129,97,113,130,97,180,129,97,255,129,97,123,190,97,152,190,97
Data 181,189,97,213,188,97,175,77,101,191,65,102,53,77,102,265,77,102,53,178,102,265,178,102
Data 80,61,104,239,61,104,80,191,104,239,191,104,666,666,232,104,164,226
Rem
4 Data 81,127,166,60,176,148,273,205,64,104,98,100,104,98,200,89,98,236,89,98,64,146,99,100,146,99,200,131,99
Data 236,131,99,153,184,100,155,81,100,85,185,97,243,193,102,258,48,104,666,81,123,107,217,108,107,155,76,108,154,183,108,666,51,63,151,110
Rem
5 Data 58,26,281,235,25,228,276,23,279,52,97,280,207,97,161,151,101,161,105,101,60,48,102,23,203,102,90,38,103,90,219,103
Data 231,37,103,231,220,103,104,164,105,214,92,105,105,91,106,215,163,106,666,127,126,109,153,126,109
Data 166,126,109,192,126,109,666,48,130,268,130
Rem
6 Data 279,182,21,99,195,145,153,106,168,76,101,298,127,102,239,126,104,170,190,104,102,238,104,187,12,104
Data 101,66,104,99,122,96,168,176,101,222,90,106,174,131,97,666,666,26,111,257,191
Rem
7 Data 35,129,214,94,129,160,280,213,40,71,97,38,189,97,233,47,97,225,208,97,214,132,101,88,127,103,88,230,103,257,133,103,88,22,104
Data 170,58,104,170,129,104,172,224,104,666,129,170,108,130,123,108,88,64,109,666,127,35,205,164
Rem
8 Data 29,43,149,178,217,91,43,224,65,197,97,56,80,97,144,136,97,236,64,97,282,209,97,302,59,102,138,52,102,171,218,102
Data 252,118,104,34,143,104,95,110,105,197,166,105,240,187,105,191,99,106,111,179,106,666,666,193,56,69,156
Rem
9 Data 156,68,207,177,74,151,304,35,79,128,101,187,128,101,281,191,101,5,71,102,73,171,102,74,217,102,144,170,102,180,217,102
Data 83,97,103,229,97,103,290,97,103,32,69,104,47,155,104,48,236,104,129,231,104,159,153,104,207,230,104,666
Data 83,37,109,229,35,109,130,127,110,666,240,222,152,68
Rem
10 Data 70,78,221,67,148,233,10,185,58,50,102,58,103,102,58,158,102,59,211,102,130,102,102,136,167,102,205,46,102,205,88,102
Data 205,130,102,199,166,102,199,216,102,185,210,103,44,75,104,38,183,104,80,183,104,116,70,104,135,192,104,191,60,104,220,102,104
Data 224,190,104,272,170,105,269,230,105,79,209,106,278,199,106,230,221,106,666,91,134,97,33
End Proc
Procedure SECONDS
For X=1 To 4
If LIFE#(X)>0
LIFE#(X)=LIFE#(X)-DR#(X)
End If
If LIFE#(X)<=0 and DEAD(X)=False
If Amreg(X+7,1)<42
Sam Play 8,10,9500
Else
Sam Play 8,14,9500
End If
Amal Freeze X+7 : Bob RAND2(X)+3,X Bob(X+7),Y Bob(X+7),RAND2(X)*3+12+Rnd(2)
Amal Freeze RAND2(X)-1 : Amreg(RAND2(X)-1,6)=0 : DEAD(X)=True : LIFE#(X)=0
Add SCORE(WHO(X)),10 : Add SCORE(X),-10 : Bob X+7,,,111 : Bob RAND2(X)-1,,,111
Paste Bob X Bob(X+7)-30,Y Bob(X+7)-30,RAND1(X)*3+75+Rnd(2)+FLIP(Rnd(3)) : Dec ALIVE
If TEAM=True
If(LIFE#(1)=0 and LIFE#(3)=0) or(LIFE#(2)=0 and LIFE#(4)=0)
ALIVE=1
End If
End If
If ALIVE=2
Sam Play 8,9,9600
End If
End If
If AMMO(X)<=0
Amal Freeze X-1 : Amreg(X-1,6)=0 : Bob X-1,,,111 : AMMO(X)=0
End If
Next X : Inc T2
If T2=45 and NUM>2
If Rnd(1)=0
Swap X1,X2 : Swap Y1,Y2
End If
Bob 47,X1,Y1,94 : Bob 48,X2,Y2,95
End If
If T2>84
Sam Play 9,15,9600
End If
Screen 1
Text 300,7,Str$(T2)+" "
Bar AMMO(RAND2(1))*2.8+60,4 To 261,8 : Bar AMMO(RAND2(2))*2.8+420,4 To 621,8
Bar LIFE#(1)+60,0 To 261,3 : Bar LIFE#(2)+420,0 To 621,3
Screen 2
Bar AMMO(RAND2(3))*2.8+60,4 To 261,8 : Bar AMMO(RAND2(4))*2.8+420,4 To 621,8
Bar LIFE#(3)+60,0 To 261,3 : Bar LIFE#(4)+420,0 To 621,3
Screen 0
Every On
End Proc
Procedure LETS_ROCK
If Key State(17) Then M1=1 : Goto HORIZ1
If Key State(49) Then M1=2
HORIZ1: If Key State(32) Then M1=M1+4 : Goto FINISH1
If Key State(33) Then M1=M1+8
FINISH1: Amreg(10,0)=M1
If Key State(12) Then M2=1 : Goto HORIZ2
If Key State(42) Then M2=2
HORIZ2: If Key State(26) Then M2=M2+4 : Goto FINISH2
If Key State(27) Then M2=M2+8
FINISH2: Amreg(11,0)=M2
Amreg(20)=Key State(64)
Amreg(21)=Key State(68)
For G=0 To 3
If Amreg(G,6)=-1 and AMMO(G+1)>0
Sam Play 2^G,G+3,9600 : Dec AMMO(G+1) : Amreg(G,6)=0
End If
Next G
For W=4 To 7
If Bob Col(W,8 To 11) and LIFE#(Amreg(W-4,0))=0
If Col(8) and Fire(1)
CHANGE_WEAPONS[1,W-4,W] : Exit
End If
If Col(9) and Fire(0)
CHANGE_WEAPONS[2,W-4,W] : Exit
End If
If Col(10) and Amreg(20)=-1
CHANGE_WEAPONS[3,W-4,W] : Exit
End If
If Col(11) and Amreg(21)=-1
CHANGE_WEAPONS[4,W-4,W] : Exit
End If
End If
Next W
If Bob Col(47,8 To 11)
For F=1 To 4
If Col(F+7)
FIRST_AID[F] : Exit
End If
Next F
End If
If Bob Col(48,8 To 11)
For E=1 To 4
If Col(E+7)
EXTRA_AMMO[E] : Exit
End If
Next E
End If
For S=0 To 3
If Amreg(S,5)<>0
If Amreg(Amreg(S,5)+7,1)<42
Sam Play 8,16,9500
Else
Sam Play 8,13-Rnd(2),9600
End If
DR#(Amreg(S,5))=DR#(Amreg(S,5))+BLEED#(S)
If Abs(Amreg(S,0)-Amreg(S,5))=2 and TEAM=True
Else
WHO(Amreg(S,5))=Amreg(S,0) : Inc SCORE(Amreg(S,0))
End If
If S=0
Bob 7+Amreg(0,5),X Bob(7+Amreg(0,5))+(Amreg(0,2)*2),Y Bob(7+Amreg(0,5))+(Amreg(0,3)*2),
If Bob Col(7+Amreg(0,5),8 To 36)
Bob 7+Amreg(0,5),X Bob(7+Amreg(0,5))-(Amreg(0,2)*2),Y Bob(7+Amreg(0,5))-(Amreg(0,3)*2),
End If
End If
If S=1
Bob 7+Amreg(1,5),X Bob(7+Amreg(1,5))+(Amreg(1,2)*7),Y Bob(7+Amreg(1,5))+(Amreg(1,3)*7),
If Bob Col(7+Amreg(1,5),8 To 36)
Bob 7+Amreg(1,5),X Bob(7+Amreg(1,5))-(Amreg(1,2)*7),Y Bob(7+Amreg(1,5))-(Amreg(1,3)*7),
End If
End If
Amreg(S,5)=0
End If
Next S
Synchro
For B=0 To 3
If Amreg(B,0)<>0
If Amreg(B,6)=-1
C=(GUN(B,2)*(Amreg(Amreg(B,0)*5-3)))+(Amreg(Amreg(B,0)*5-5))
D=(GUN(B,2)*(Amreg(Amreg(B,0)*5-2)))+(Amreg(Amreg(B,0)*5-4))
Amreg(B,2)=Amreg(Amreg(B,0)*5-3)*GUN(B,1)
Amreg(B,3)=Amreg(Amreg(B,0)*5-2)*GUN(B,1)
If B=0 : Amreg(B,4)=Amreg(Amreg(B,0)*5-1) : End If
Bob B,C,D,Amreg(Amreg(B,0)*5-1)+GUN(B,3)
End If
If DEAD(Amreg(B,0))=False and Amreg(Amreg(B,0)+7,1)<66
C=(5*(Amreg(Amreg(B,0)*5-3)))+(Amreg(Amreg(B,0)*5-5))
D=(5*(Amreg(Amreg(B,0)*5-2)))+(Amreg(Amreg(B,0)*5-4))
Bob B+4,C,D,(B*3)+Amreg(Amreg(B,0)*5-1)+15
End If
End If
Next B
Bob Update : Wait Vbl : M1=0 : M2=0
End Proc
Procedure CHANGE_WEAPONS[A,B,C]
Amreg(RAND2(A)-1,0)=Amreg(B,0)
Amal Freeze RAND2(A)-1 : Bob RAND2(A)+3,X Bob(A+7),Y Bob(A+7),RAND2(A)*3+12+Rnd(2)
Bob RAND2(A)-1,,,111 : Swap RAND2(A),RAND2(Amreg(B,0))
Screen 1
If A=1 or Amreg(B,0)=1 Then Ink 2 : Bar 60,4 To AMMO(RAND2(1))*2.85+61,8 : Ink 0
If A=2 or Amreg(B,0)=2 Then Ink 2 : Bar 420,4 To AMMO(RAND2(2))*2.85+421,8 : Ink 0
Screen 2
If A=3 or Amreg(B,0)=3 Then Ink 2 : Bar 60,4 To AMMO(RAND2(3))*2.85+61,8 : Ink 0
If A=4 or Amreg(B,0)=4 Then Ink 2 : Bar 420,4 To AMMO(RAND2(4))*2.85+421,8 : Ink 0
Screen 0
Amal Off B : Amal B,CQ$(B)
Amreg(B,0)=A : Amal On B
Bell
If Amreg(7+A,1)>65
Bob RAND2(A)+3,,,111
End If
End Proc
Procedure EXTRA_AMMO[A]
Add AMMO(RAND2(A)),25 : Bob Off 48 : Amal On RAND2(A)-1
Sam Play 8,7,9000 : AMMO(RAND2(A))=Min(70,AMMO(RAND2(A)))
Screen 1
If A=1 Then Ink 2 : Bar 60,4 To AMMO(RAND2(1))*2.85+61,8 : Ink 0
If A=2 Then Ink 2 : Bar 420,4 To AMMO(RAND2(2))*2.85+421,8 : Ink 0
Screen 2
If A=3 Then Ink 2 : Bar 60,4 To AMMO(RAND2(3))*2.85+61,8 : Ink 0
If A=4 Then Ink 2 : Bar 420,4 To AMMO(RAND2(4))*2.85+421,8 : Ink 0
Screen 0
End Proc
Procedure FIRST_AID[A]
LIFE#(A)=LIFE#(A)+50.0 : DR#(A)=0.0 : Bob Off 47
Bell : LIFE#(A)=Min(200.0,LIFE#(A))
Screen 1
If A=1 Then Ink 3 : Bar 60,0 To LIFE#(1)+61,3 : Ink 0
If A=2 Then Ink 3 : Bar 420,0 To LIFE#(2)+421,3 : Ink 0
Screen 2
If A=3 Then Ink 3 : Bar 60,0 To LIFE#(3)+61,3 : Ink 0
If A=4 Then Ink 3 : Bar 420,0 To LIFE#(4)+421,3 : Ink 0
Screen 0
End Proc
Procedure SCORES
If ALIVE=1
Sam Play 9,18-Rnd(1),9500
End If
Wait 200 : Every Off : Screen 0 : Bob Off
Screen Hide 1 : Screen Hide 2 : Screen Close 0
Screen Open 3,320,256,32,Lowres : Flash Off : Get Sprite Palette
Colour 0,$0 : Screen Show 1 : Screen Show 2
Curs Off : Curs Pen 0 : Cls 0 : Colour 8,$0 : Paper 0
Pen 8 : Print At(8,8);"Scores After Round ";ROUND
If TEAM=False
For X=1 To NUM
Print At(9,X*2+9);NAME$(X);At(17,X*2+9);" Score ";SCORE(X)
Next X
Else
Print At(5,11);NAME$(1)+" & "+NAME$(3);At(20,11);" Score ";SCORE(1)+SCORE(3)
Print At(5,13);NAME$(2)+" & "+NAME$(4);At(20,13);" Score ";SCORE(2)+SCORE(4)
End If
For C=1 To 15
Colour 8,Colour(8)+$111 : Wait 2 : Wait Vbl
Next C : Wait 200
For C=1 To 15
Colour 8,Colour(8)-$111 : Wait 2 : Wait Vbl
Next C : Cls 0 : Colour 8,$FFF
End Proc
Procedure FINISH_OF_GAME
Dim N$(4)
For X=1 To 4 : N$(X)=NAME$(X) : Next X
If TEAM=False
For A=1 To 3
For B=A+1 To 4
If SCORE(B)>SCORE(A)
Swap SCORE(B),SCORE(A) : Swap NAME$(B),NAME$(A)
End If
Next B
Next A : N=4 : X0=88 : X1=200
Else
X0=45 : NAME$(1)=NAME$(1)+" & "+NAME$(3) : Add SCORE(1),SCORE(3)
N=2 : X1=225 : NAME$(2)=NAME$(2)+" & "+NAME$(4) : Add SCORE(2),SCORE(4)
If SCORE(1)<SCORE(2) : Swap NAME$(1),NAME$(2) : Swap SCORE(1),SCORE(2) : End If
End If
Unpack 9 To 0 : Flash Off : Curs Off
Cls 0,0,0 To 20,20 : Ink 4,0
If TEAM=True
TL=Text Length(NAME$(1)+"'s Team")
Text 155-TL/2,185,NAME$(1)+"'s Team"
Else
TL=Text Length(NAME$(1))
Text 145-TL/2,190,NAME$(1)
End If
Flash 2,"(D00,20)(000,20)" : Flash 3,"(000,20)(D00,20)"
Sam Play 1,1,9500 : Wait 120 : Sam Play 1,2,9500 : Wait 200
For X=1 To N
If SCORE(X)>HSC(10)
Swap SCORE(X),HSC(10) : Swap NAME$(X),HSCNAME$(10)
For A=1 To 9
For B=A+1 To 10
If HSC(B)>HSC(A)
Swap HSC(B),HSC(A) : Swap HSCNAME$(B),HSCNAME$(A)
End If
Next B
Next A
End If
Next X
Screen Open 3,320,256,4,Lowres : Flash Off : Curs Off
Cls 0 : Screen Close 0
Screen Open 4,320,256,4,Lowres : Screen Hide 4
Flash Off : Curs Off : Cls 0
Set Font 1 : Gr Writing 0 : Ink 1
For Y=1 To 10
Text X0,Y*12,Str$(Y)-" "+"."+HSCNAME$(Y)
Text X1,Y*12,Str$(HSC(Y))
Next Y
Screen 3 : Set Rainbow 0,1,180,"","",""
For X=0 To 14*4 Step 4
For Y=X To X+4
Rain(0,Y)=C
Next Y
C=C+$100
Next X : C=$F00
For X=57 To 81 Step 6
For Y=X To X+6
Rain(0,Y)=C
Next Y
C=C+$11
Next X
For X=81 To 109 Step 7
For Y=X To X+7
Rain(0,Y)=C
Next Y
C=C-$11
Next X : C=$E00
For X=166-(14*4) To 166 Step 4
For Y=X To X+4 Step 1
Rain(0,Y)=C
Next Y
C=C-$100
Next X
Rainbow 0,0,61,163
Set Font 2 : Ink 2 : Gr Writing 0
Text 110,195,"Fire To Exit!"
If TEAM=False
Text 75,10,"Most Merciless Murders"
Else Text 75,10,"Most Devastating Duo's"
End If
Def Scroll 1,0,20 To 320,181,0,-1
Def Scroll 2,0,30 To 320,165,0,-1
Def Scroll 3,0,50 To 320,150,0,-1
Def Scroll 4,0,70 To 320,130,0,-1
Draw 0,18 To 320,18 : Draw 0,182 To 320,182 : Y=0
Repeat
Add Y,1,0 To 130
Screen Copy 4,0,Y,320,Y+1 To 3,0,180
Scroll 1 : Scroll 2 : Scroll 3 : Scroll 4
Wait Vbl
Until Fire(1) or Fire(0) : Gr Writing 1 : Screen Close 4
Poke $BFD100,%10000
If Btst(3,$BFE001)
If TEAM=False
Open Out 1,"HighScoreTable"
Else Open Out 1,"TeamTable"
End If
For A=1 To 10 : Print #1,HSCNAME$(A) : Print #1,HSC(A) : Next A : Close 1
End If : Cls 0 : Rainbow Del 0
For V=1 To 4 : SCORE(V)=0 : NAME$(V)=N$(V) : Next V
End Proc